import $store from '@/store';

const detectPermission = {};

detectPermission.install = (Vue) => {
  Vue.directive('detect-permission', {
    inserted(el, binding, vnode) {
      // 检测权限id
      if ($store.getters['user/roleList'].find((item) => item.id === binding.value)) return;
      // // 初始化一个注释
      // const comment = document.createComment('');
      // Object.defineProperty(comment, 'setAttribute', {
      //   value: () => undefined
      // });
      // // 修改vnode
      // vnode.elm = comment;
      // vnode.text = ' ';
      // vnode.isComment = true;
      // vnode.context = undefined;
      // vnode.tag = undefined;
      // vnode.data.directives = undefined;
      // if (vnode.componentInstance) {
      //   vnode.componentInstance.$el = comment;
      // }
      // if (el.parentNode) {
      //   el.parentNode.replaceChild(comment, el);
      // }
      // next: 注释节点代替原节点insert

      if (el.parentNode) el.parentNode.removeChild(el);
    }
  });
};

export default detectPermission;
